package com.lollipop.programming.thread.sequential;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.CompletableFuture;

/**
 * @Author Lollipop
 * @Version 1.0
 * @Date 2025/4/14 9:26
 * @Description 有 T1、T2、T3 三个线程，怎么保证 T2 在 T1 执行完后执行，T3 在 T2 执行完后执行 - 使用CompletableFuture
 */
@Slf4j
public class ThreadCompletableFuture {
    public static void main(String[] args) {
        CompletableFuture.runAsync(() -> {
            // T1执行
            log.info("T1执行");
        }).thenRunAsync(() -> {
            // T2执行
            log.info("T2执行");

        }).thenRunAsync(() -> {
            // T3执行
            log.info("T3执行");

        }).join();
    }
}
